package
 com.xs.mcpserver.gitlab.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 文件变更信息
 * 用于描述在合并请求中文件的变更状态
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FileChange {
    /**
     * 文件的新路径
     * 如果文件被重命名，这将是重命名后的路径
     */
    private String newPath;

    /**
     * 文件的原始路径
     * 如果文件被重命名，这将是重命名前的路径
     */
    private String oldPath;

    /**
     * 标识文件是否为新增
     * true表示这是一个新文件，false表示文件已存在
     */
    private Boolean isNew;

    /**
     * 标识文件是否被重命名
     * true表示文件被重命名，此时newPath和oldPath会不同
     */
    private Boolean isRenamed;

    /**
     * 标识文件是否被删除
     * true表示文件被删除，false表示文件仍然存在
     */
    private Boolean isDeleted;
}
